var app = getApp();
var openId
Page({
    data: {
        question: false, // 页面中? 提示开关
        xueqi: '', // 一个个的学期
        current: 0 ,// 当前页, 用于显示用户当前 学期
        loading: true // 加载中
    },
    onLoad(){
        var _this = this;
        app.getUserInfo(function(res){
            //console.log(res); // openid
            openId = res;
            // 先判断是否绑定学号密码       TODO: 研究同步异步哪个好
            wx.getStorage({
                key: 'isRegist',
                fail: function(){ // 如果读取失败则没绑定 则request.check一次
                    wx.request({
                        // url: 'http://246.ameiity.sinaapp.com/wxapp/php/check.php?openid='+openId,
                        url: 'https://ameiity.applinzi.com/wxapp/php/check.php?openid='+openId,
                        header: {
                            'content-type': 'application/json'
                        },
                        success: function (res) {
                            wx.hideToast();
                            //console.log(res); res.data.regist为1则为绑定了
                            if(res.data)
                                if(!res.data.regist){
                                    //console.log('送你去绑定')
                                    wx.redirectTo({
                                        url: '../regist/regist'
                                    })
                                }else{
                                    // 已绑定, 增加一个标志位, 这样不用反复请求check.php
                                    // 可能出行的情况: 绑定的是错误的密码(但是用户清除了isRegist标志位)
                                    _this.requestApi()
                                }
                        },
                    })
                },
                success: function(){
                    // 成绩信息的获取(本地缓存中拿)
                    wx.getStorage({
                        key: 'xueqi',
                        success: function(xueqi){
                            //console.log(xueqi.data)
                            if(xueqi.data.error == 2){
                                // 学号密码错误 (出现情况: 重新绑定学号页面刷新后点击成绩页面)
                                //console.log(456)
                                wx.showModal({
                                    content: '学号或者密码错误请重新绑定',
                                    showCancel: false,
                                    success: function (res) {
                                        if (res.confirm) {
                                            wx.redirectTo({
                                                url: '../regist/regist'
                                            })
                                        }
                                    }
                                });
                                //_this.requestApi()
                            }else{
                                wx.getStorage({
                                    key: 'current',
                                    success:function(current){
                                        //console.log(current)
                                        // 将缓存中的数据setData
                                        wx.hideToast()
                                        _this.setData({
                                            xueqi: xueqi.data,
                                            current: current.data, // 默认将当前页置为最后页
                                            loading: false
                                        })
                                    }
                                })
                            }
                            //console.log(xueqi)
                        },
                        // 如果缓存中没有信息,则调用成绩api
                        fail: function(){
                            _this.requestApi()
                        }
                    })
                }
            })
        })
    },

    // 成绩页面中的 ? 提示信息 开关
    icon(){
        var that = this;
        var q = that.data.question;
        that.setData({
            question:!q
        })
    },

    // 请求的成绩api
    requestApi(){
        //console.log("jin lai le")
        var _this = this
        // 调用成绩Api 获取成绩
        wx.request({
            //url: 'https://246.ameiity.sinaapp.com/wxapp/api/api_chengji.php?openid='+openId,
            // url: 'http://xiao.aviouy.cn/gis/api_chengji.php?openid='+openId, 
            url: 'https://ameiity.applinzi.com/wxapp/api/api_chengji.php?openid='+openId, 
            header: {
                'content-type': 'application/json'
            },
            success: function(res) {
                //console.log(res) // res.data为错误代码
                var error = res.data.error;
                if(error == 2){
                    wx.showModal({
                        content: '学号或者密码错误请重新绑定',
                        showCancel: false,
                        success: function (res) {
                            if (res.confirm) {
                                //console.log('用户点击确定,去到绑定页面')
                                wx.redirectTo({
                                    url: '../regist/regist'
                                })
                            }
                        }
                    });
                }
                else if(error == 1){
                    wx.showModal({
                        content: '未完成评教,请前往教务系统评教',
                        showCancel: false,
                        success: function (res) {
                            if (res.confirm) {
                                //console.log('用户点击确定,返回主页面')
                                wx.navigateBack({
                                    delta:1
                                })
                            }
                        }
                    });
                }
                else if(error == 3){
                    wx.showModal({
                        title: '教务系统崩溃了',
                        content: '系统繁忙,读取备份数据中...',
                        showCancel: false,
                        success: function (res) {
                            if (res.confirm) {
                                //console.log('用户点击确定,主页面')
                                //wx.navigateBack({
                                    //delta:1
                                //})
                                wx.getStorage({
                                    key: 'xueqi_bak',
                                    success: function(xueqi_bak){
                                        wx.setStorage({
                                            key: 'xueqi',
                                            data: xueqi_bak
                                        })
                                        wx.redirectTo({
                                            url: './chengji'
                                        })
                                    },
                                    fail: function(){
                                        wx.showModal({
                                            content: '无备份数据,请等待教务系统开放,带来不便,sorry',
                                            showCancel: false,
                                            success: function(res){
                                                if(res.confirm){
                                                    wx.navigateBack({
                                                        delta: 1
                                                    })
                                                }
                                            }
                                        })
                                    }
                                })
                            }
                        }
                    });
                }
                else{ // 完全没出错, 则进行赋值和缓存操作
                    _this.setData({
                        xueqi: res.data,
                        current: res.data.length-1, // 默认将当前页置为最后页
                        loading: false
                    })

                    // 将成绩信息 写入缓存
                    wx.setStorage({
                        key: 'xueqi',
                        data: res.data
                    })
                    wx.setStorage({
                        key: 'xueqi_bak',
                        data: res.data
                    })
                    wx.setStorage({
                        key: 'current',
                        data: res.data.length-1
                    })
                    wx.setStorage({
                        key: 'current_bak',
                        data: res.data.length-1
                    })
                    wx.setStorage({
                        key: 'isRegist',  // 因为请求到了数据则表示一定绑定了
                        data: true
                    })
                }

            }
        })
    }

})